package com.zhongfl.crm.mail;

import com.zhongfl.crm.exception.CRMException;
import com.zhongfl.crm.mail.bean.MailMessage;
import com.zhongfl.crm.mail.enums.MailTypeEnum;

import java.io.File;
import java.util.Map;

/**
 * 邮件发送管理
 */
public interface MailService {

    /**
     * 发送邮件
     *
     * @param mailMessage 邮件内容
     * @throws CRMException 异常
     */
    void send(MailMessage mailMessage) throws CRMException;

    /**
     * 发送邮件模板
     *
     * @param title        邮件标题
     * @param to           接受人
     * @param templateEnum 模板枚举
     * @param models       模板数据 key object
     * @param files        附件信息 key 文件名称, value 文件内容
     * @throws CRMException 发送错误信息
     */
    void send(String[] to, String title, MailTypeEnum templateEnum, Map<String, Object> models, Map<String, File> files) throws CRMException;
}
